{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Mapzen geocoding analysis\n",
    "\n",
    "The sample consists of 19,000 randomly addresses with a matched `parcel_id`\n",
    "\n",
    "`SELECT * INTO mapzen_geocoded FROM incidentaddress WHERE parcel_id IS NOT null ORDER BY random() LIMIT 19000`\n",
    "\n",
    "Data geocoded using the `mapzen_geocoder` script, and with different datasources\n",
    "- OpenAddresses\n",
    "- Who's on First\n",
    "- OpenStreetMap\n",
    "- Geonames\n",
    "- All of the above\n",
    "\n",
    "`parcel_id` populated using ST_WITHIN\n",
    "\n",
    "`UPDATE mapzen_geocoded\n",
    "    SET oa_parcel_id=p.parcel_id\n",
    "    FROM parcel_risk_category_local p\n",
    "    WHERE st_within(oa_geom, p.wkb_geometry)`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 257,
   "metadata": {},
   "outputs": [],
   "source": [
    "import psycopg2\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from IPython.display import display\n",
    "\n",
    "# Set your service for nfirs production DB\n",
    "POSTGRES_SERVICE = 'nfirs'\n",
    "\n",
    "TABLE = 'mapzen_geocoded'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 258,
   "metadata": {},
   "outputs": [],
   "source": [
    "conn = psycopg2.connect(service=POSTGRES_SERVICE)\n",
    "\n",
    "records = pd.read_sql(\"\"\"\n",
    "select * from (\n",
    "    select * from select_mapzen_data('mapzen_', 'all', 'exact', 'Not found') UNION ALL\n",
    "    select * from select_mapzen_data('oa_', 'oa', 'exact', 'Not found') UNION ALL\n",
    "    select * from select_mapzen_data('wof_', 'wof', 'exact', 'Not found') UNION ALL\n",
    "    select * from select_mapzen_data('gn_', 'gn', 'exact', 'Not found') UNION ALL\n",
    "    select * from select_mapzen_data('osm_', 'osm', 'exact', 'Not found') UNION ALL\n",
    "    select * from select_mapzen_data('_', 'sanitized', 'exact', 'Not found') UNION ALL\n",
    "    select * from select_mapzen_data('google_', 'google', 'ROOFTOP', 'Not found')\n",
    ") data order by rooftop_hits  desc;\n",
    "\"\"\".format(TABLE), conn)\n",
    "# display(records)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 259,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAALICAYAAABy54rvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmcVmX9//HXGwjFERwWBYfFccEK17JwzSZNwgKxr6a4\nkBT2yygVynLJZEADl9zS1CwN91wyFzJcw0hNQhNcc2MEhkVREBBlkc/vj3NmvBlnhplhbu6Zw/v5\neMyDc1/nXOd8zsXc9/2Z67rOOYoIzMzMzLKkTaEDMDMzM2tuTnDMzMwsc5zgmJmZWeY4wTEzM7PM\ncYJjZmZmmeMEx8zMzDLHCY6ZNZqkKZJGFDqOxpJUJmlOoeMws/xzgmPWykmqkLRC0jJJCyTdJKlT\nng8b6Q+ShkuamufjbXRZPS+zTYUTHLPWL4BBEdER2APYDTi7sCFtfJLaFjqGfJPUrtAxmLUWTnDM\nMiQiFgIPAbtUlUnaR9KTkhZLek7SV3PWDZf0hqSlkt6UdGxaXi7pppztSiWtlbTOZ4akzwHXAPum\nPUjvpeXflPRiut+5kn5WW7zp8Z+QdIWkJZJelnRQzvqtJF0naV66n3OrYsipe4mkRcCYWvbfQdJE\nSe9JehH4co31Z0h6PY3zRUmHp+WfB66u5by+Jem/kt6XNFvSmJx9bS7pZkmL0raeJmmbdF2JpPsk\nvSvpNUkn5tSbKOncnNfrDKOlPXS/kDQTWCapjaQDcv5PZ0s6Id12M0m/kfRW2pt3taTNa2t7s6xz\ngmOWDQKQ1AsYCDydvu4JTALGRURn4DTgL5K6SioCLgcGRkQnYF/guXR/DXqGS0S8AvwQeCoiOkZE\nl3TVdcD/S/e7C/BYPbvpD7wOdCVJUu6WVJyumwisAnYEvgAMAE6sUfcNYBtgfC37HgNsD+wAfAM4\noca5vQ4ckMY5FrhZUveIeBk4qZbzWg4cHxFbAd8CfiRpSLruBKAT0AvokrbLh+m6PwOzgW2BI4Hx\nkr6Wrqse7qvHUOBQoBjoDTxA8n/XDdiTT/7fzgd2IunJ2wnoCZyznn2bZZITHLPWT8A9kpaSfIm+\nAZyXrjseeCAiJgNExCPAdJIv5wDWArtJ6hARCyPipZx9Nub4Na0CdpHUKSLej4j/1lP/7Yi4PCI+\njog7gP8BgyR1J/lSHx0RH0bEO8BlJF/2VeZFxO8iYm1EfFTLvr8D/DoilkTEXJKkoDreiLgrIhak\ny3cArwF713VeEfF4RLyYLj9PkrhU9YitIknS+kbivxGxTFJvYD/g9IhYFREzgD8C383ZdX3tHcBv\nI6IyIlYCxwIPR8TtaZu9FxEzJAn4AfDT9HyXAxNqtJfZJsMJjlnrF8CQtBeiDDgI+FK6bjvgO+lQ\nxmJJi4H9gR4RsQI4mqSnYp6kSZI+20wxHQF8E6hIr7jap55tK2u8fgsoAfoAnwHm58R+DbB1zrbr\nuyKqpMY2s3NXSvpuOuRUtf9dSZKUWknaW9I/JL0taQlJL03V9jcBDwJ/llQp6YJ0zkwJ8F5EfFAj\njp7riT1X7jn0At6sZZutgS2AZ3LO5+8kvTxmmxwnOGYZEhH/BK4ALkiLZgM3RUTnnJ+OEXFhuv1D\nETEA6AG8AvwhrfcByZdllR71HbaWOKZHxOEkX7r3AHfUU7/mF/12JEnPHGAl0DUn9q0iYrf6jl3D\nfJJEqUr1sqTtgGuBHwNd0iG8F/ikN6W2fd+ank+viCgmSbjaAETEmogYFxG7kPTYDCLppakEukja\nskYcc9PlhrR1bixzSIbsalpEMiTWL6e9itPE12yT4wTHLHsuA/pL2hu4GRgsaYCktulE2DJJPSVt\nI2lIOhdnNckX7cfpPp4DDpTUW9JWwJn1HG8h0EvSZwAkfUbScZK2ioiPgWU5+63NNpJOSet9B/gc\nybDaApIJ05dI6phOrt1R0oGNaIs7gDMlFafzk07OWVdEkjgsAtpI+h5JD06t55XaElgcEask9ScZ\nLqq6XL5M0m5KruZaRtKmH6dDY08CE9JJwLsD3yf5v4Gkrb8pqbOkHsCo9ZzTLcDXJX1HUrt0PtUe\nEbGWJEG9TNLWaUw9JQ1oRHuZZYYTHLOMiYhFwA0kcz7mAkOAs4C3SXp0fkbSS9EGGE3Sw/Au8BXg\nR+k+HgZuB2YC/wHup+7ekkeBF4EFkt5Oy44HZkl6H/h/wHH1hPw00Bd4BzgXOCIiFqfrvgu0B14C\n3gPu5JMejoZMzh1LMuQ1C5gM3FhVJ51vdDHwFLCAJLn513rOayQwLp3v9CuSNqrSI43v/TTeKSTD\nVgDHAKXAPOBu4JyIqJp4fRMwA6hIY/xzfecVEXNIhv9+RvL/9l9g93T16SQTp/+dtv3DwM71tI9Z\nZimiQRdLNH7HycS6G0mubgjg2oj4raQuJB8K25G8oY+KiCVpnTNJ/rL5GDglIh5Ky/ciuZpic5K/\n7E5NyzdLj/FFkjf60RHxVl5OyMyanaThwIiI+EqhYzGzbMlnD85qkqsfdgH2AX6s5N4SZ5BcAbAz\nyV9IZwBI6kcy4bEfyWWuV6VXBUByP4oREdEX6CtpYFo+Ang3Lb+UT+YdmJmZ2SYsbwlORCyIiOfS\n5eXAyySTCQ8j6T4n/ffwdHkIcFtErI6ICpJu1r0lbQt0jIhp6XY35tTJ3ddfgIPzdT5mlhcNGWYy\nM2u0jTIHR1IpyU26nga6p3dbhWQSX/d0uYRPriogXe5ZS3kln1x10ZP08smIWAO8nw6BmVkrEBE3\nRERjJg2bmTVI3p9rkl4a+Rfg1PSmV9XrIiIk5f2vt41xDDMzMyuMiPjUzTLzmuCkl1f+heQ+HPek\nxQsl9YiIBenwU9XVCZUktyCv0ouk56YyXa5ZXlWnD8lNytoBW0XEe7XFUtdk6vLycsrLyxt7aplS\nPnw45aWlta+bMoXysrLa11VUUD5xYt7iag38+1M/t0/93D7r5zaqn9sHcjtOcuVtiCqdIHwd8FJE\nXJaz6j6SZ7aQ/ntPTvlQSe0lbU9y2ei09F4YS9M7iAoYBtxby76OJJm0bGZmZpu4fPbg7E9yL4yZ\nkqqeQ3MmycPg7pA0gvQycUjuSSHpDpL7R6wBRsYn3S4jSS4T70DOc3VIEqibJL1Gcpm4n7liZmZm\n+UtwIuJf1N1D9PU66oynlicCR8QzwG61lK8kTZCaqqyO4RdLlNUxdGUJ//7Uz+1TP7fP+rmN6uf2\nqVvebvTXkkiKMSecsP4Nayoupvyyy9a/XStX3xyceut5Do6ZmRWYpI0/ybglaeoXuJmZtV51TUC1\n1qkxnTKbTIJjZmabpk1hpGJT0Nhk1Q/bNDMzs8xxgmNmZmaZ4wTHzMzMMscJjpmZmWWOExwzMzOr\nU5s2bXjzzTc3et0N5auozMxsk1I+ahQsWZK/AzTyHmp//vOfufTSS3nxxRcpKipi++2354QTTuBH\nP/pR/mLcBDjBMTOzTcuSJU26N1pDNeYeahdffDEXXXQRV111Fd/4xjcoKiriueee4ze/+Q0jRoyg\nffv2eYsz6zxEZWZmVgDvv/8+Y8aM4eqrr+b//u//KCoqAmDPPffk5ptvpn379qxcuZLTTjuN7bbb\njh49evCjH/2Ijz76qHoff/jDH+jbty9du3ZlyJAhzJ8/v3rdiy++yCGHHELXrl3p0aMHEyZMAGDl\nypWMGjWKnj170rNnT0aPHs2qVauq61100UWUlJTQq1cvrr/++nViXl889dXd2NyDY2ZmBbNBw0Wt\n/HE6Tz31FCtXrmTIkCF1bnPGGWcwa9YsZsyYQbt27Tj22GMZN24c48eP57HHHuOss87i4Ycfpl+/\nfpx22mkMHTqUxx9/nGXLlvH1r3+dX/ziF/ztb39j1apVvPTSSwD8+te/Ztq0acyYMQOAIUOGcN55\n5zFu3DgmT57MxRdfzGOPPUZpaSknnnhig+NZX92NzQmO2Xo0+QO4lX/4mm0UGzBc1Nofp7No0SK6\ndetGmzafDKbst99+vPzyy6xcuZLJkyfzhz/8gZkzZ1JcXAzAmWeeyXHHHcf48eO55ZZbGDFiBHvu\nuScAEyZMoHPnzrz11ls8+eSTlJSUMHr0aADat29P//79Abj11lu58sor6datGwBjxozhhz/8IePG\njeOOO+7g+9//Pv369QNg7Nix/PnPfwaSO0LXF099dQvBCY7Z+jTxA7i1f/iaWX517dqVRYsWsXbt\n2uok58knnwSgd+/eLFy4kBUrVrDXXntV14kI1q5dC8D8+fP50pe+VL2uqKiIrl27UllZydy5c9lh\nhx1qPe68efPYbrvtql/36dOHefPmVe/zy1/+8jrrqrzzzjvrjaeuuoXgOThmZmYFsO+++7LZZptx\nzz331Lq+W7dudOjQgZdeeonFixezePFilixZwtKlSwEoKSmhIucPqQ8++IB3332XXr160bt37zov\nz65Zb/bs2fTs2ROAbbfdltmzZ6+zrqHx1Fe3EJzgmJmZFUBxcTFjxoxh5MiR/OUvf2HZsmWsXbuW\n5557jg8++IA2bdrwgx/8gFGjRvHOO+8AUFlZyUMPPQTAMcccw5/+9CdmzJjBypUrOeuss9hnn33o\n06cP3/rWt5g/fz6XX345K1euZNmyZUybNq263nnnnceiRYtYtGgR48aN4/jjjwfgqKOOYuLEibz8\n8susWLGCsWPHVse7vnjqq1sIHqIyM7NNS3FxfoeQ0/kpDfHzn/+cnj17cuGFF/Ld736XoqIidthh\nBy688EL2228/9tlnH8aNG8c+++zDokWL6NmzJyNHjmTAgAEcfPDBnHvuuRxxxBEsXryY/fffv3rO\nS8eOHXn44Yc59dRTGTt2LJttthmjR4+mf//+nH322SxdupTdd98dSBKTs88+G4CBAwcyatQoDjro\nINq2bcu5557LbbfdVh3vBRdcUGc866u7sWlTeIy8pIgxYxpdr7yigvKJE5s/oBamfPjwJs8xcfvU\nU28TaR+zDdHU9xc07D0miU3he25TUNf/ZVqumuUeojIzM7PMcYJjZmZmmeMEx8zMzDLHCY6ZmZll\njhMcMzMzyxwnOGZmZpY5TnDMzMwsc5zgmJmZWeY4wTEzM8uYDz/8kMGDB1NcXMzRRx+d12NVVFTQ\npk2b6odu1jRhwgR+8IMf5DWG2vhRDWZmtkkZdcYolny0JG/7L968mMvOv6xB25aWlvL222/Ttm1b\nioqKOOSQQ/jd735Hp06dNiiGu+66i7fffpvFixcjieHDh9O7d2/OPffcDdpvU5x55pnVyxUVFeyw\nww6sWbOm+gnq+eIEx8zMNilLPlpC6eGledt/xT0VDd5WEpMmTeKggw5i4cKFfOMb3+C8887jwgsv\n3KAY3nrrLXbeeWekTz3BoEXYGI/P8BCVmZlZC9C9e3cGDBjAiy++WF123333scsuu9C5c2e+9rWv\n8corr1Sve/nllykrK6Nz587suuuu3H///QCMGTOGc889l9tvv52OHTty7bXXcuutt3LhhRfSsWNH\nhgwZUm99gOHDh3PSSScxYMAAOnXqRFlZGbNnz643/ptvvpntttuOrbfemvHjx1eXl5eXM2zYMAAO\nPPBAIHmSeseOHXn66ad5/fXX+epXv0pxcTFbb701Q4cO3cCWTLgHx8zMrICqejPmzp3L5MmTOfLI\nIwF49dVXOfbYY7n33nspKyvjkksuYfDgwbz88stEBIMHD+bEE0/kkUceYerUqQwZMoTp06czduxY\n2rRpwxtvvMGNN94IwFNPPUXv3r0ZN24cAKtXr66z/s477wzArbfeygMPPED//v35xS9+wXHHHcfU\nqVPrPI8nnniCV199lf/973/079+fI444gs9+9rPr9CJNnTqV7bffnvfff796iOqYY45h4MCBPP74\n46xatYrp06c3S7u6B8fMzKxAIoLDDz+cTp060adPH3bccUfOPvtsAG6//XYGDRrEwQcfTNu2bTnt\ntNP48MMPeeKJJ/j3v//NBx98wBlnnEG7du342te+xqBBg7jtttuq91tzGCj39frqAwwaNIgDDjiA\n9u3b8+tf/5qnnnqKysrKOs9lzJgxbLbZZuy+++7ssccezJgx41PHrW1oqn379lRUVFBZWUn79u3Z\n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\nZk3nBMfMzNarqvdlzpw5/P3vf+eLX/wia9euZcSIEcyePZvZs2fToUMHfvKTn6xT7+abb+aPf/wj\ny5cvZ+utt+brX/863/zmN5k/fz6vv/46Bx98MABXXHEF9913H//85z+ZP38+nTt35sc//nGDYpNU\nfRO4sWPHMmvWLN58800efPBBbrjhhjpvEPfGG2/Qp08fJk2axNKlS/nMZz7D0KFD6dOnD/Pnz+eu\nu+7irLPO4h//+MenjlNXHHfeeScPPvggs2bNYubMmUycOBGAyZMnc/HFF/PII4/w6quv8sgjjzTo\n3KzpnOCYmVm9IoLDDz+czp0785WvfIWysjLOOussunTpwre//W0233xzttxyS8466ywef/zx6nqS\nGD58OJ///Odp06YNkyZNoqSkhNGjR9O+fXu23HJL+vfvD8Dvf/97zjvvPEpKSvjMZz7DmDFjuOuu\nu1i7dm2jYr3zzjv55S9/SXFxMb169eLUU09t8NDYnDlzePLJJ7ngggto3749e+yxByeeeCI33njj\nOm1Rn1NOOYUePXrQuXNnBg8ezHPPPQfAHXfcwfe//3369evHFltswdixYxt1XtZ4nmRsZmb1ksS9\n997LQQcdtE75ihUrGD16NA8++GD1cNLy5cuJiOqejtwhnDlz5tR5xVBFRQXf/va317lKql27dixc\nuLBRsc6bN2+dY/bp06dRdbt06bLO5Ok+ffowffr0Bu+jR48e1csdOnRg/vz5AMyfP58vf/nLTYrL\nmsY9OGZm1iQXX3wxr776KtOmTeP999/n8ccf/9Rk4twhnT59+vDmm2/Wuq8+ffowefJkFi9eXP2z\nYsUKtt1220bFtO222zJ79uzq17nL61NSUsJ7773H8uXL16nfq1cvAIqKilixYkX1ugULFmyUuKxp\nnOCYmVmTLF++nA4dOrDVVlvx3nvv1TrskpvsDBo0iPnz53P55ZezcuVKli1bxrRp0wA46aSTOOus\ns6q/+N955x3uu+++Rsd01FFHMWHCBJYsWcLcuXO54oorGly3d+/e7Lfffpx55pmsXLmSmTNncv31\n13P88ccDsOeee/LAAw+wePFiFixYwGWXrf8eQlXnf9RRRzFx4kRefvllVqxY4SGqjWCTGaI6/fTh\nja7TWm6CZWbZ1K5dcV4fatuuXfEG1R81ahTHHnss3bp1o2fPnvz0pz/9VFKS24Oz5ZZb8vDDD3Pq\n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\n/JLExESio6M5++yzWbRoERB4YOT999/P/PnzadmyJU8//TRz585lypQptGzZksGDB5dZHyA5OZnR\no0fTv39/WrVqRWJiYvBp5MVlZWURERHBM888Q7t27YiNjeWxxx4L7s/MzKR3795ER0cTGxvL2LFj\nyc/PD+6PiIhg2rRpdO7cmS5dugCwYMECunXrRuvWrTnttNN48803Adi3bx8pKSnExsYSFxfHvffe\nS2FhYbljW9TGorKbN2+mb9++tGrViv79+/P999+XWG/Dhg3BwCYqKorLL78cgH/+859ceOGFREVF\n0aNHD1auXBmsk5CQwPLly4PbkyZNYuTIkUe0Y/bs2XTo0IGTTjqJhx56KFj24MGDJCcn06ZNG846\n6yw+/vjjcvsWDgpwRESkXEUPOdy2bRtLly6lZ8+eQODDdfjw4Tz++ON8//33XH311QwaNIiCggLy\n8/MZNGgQAwYM4LvvvuOJJ55gxIgRbNiwgbS0NO666y6GDRtGXl4eo0aNYsSIEdxxxx3k5eWxYMGC\nMusXmTt3Ln/+85/5/vvv6datGyNGjCizHxkZGWzcuJFly5YxefLk4Id848aNmTp1Krt27WLlypUs\nX76cadOmHVF3wYIFfPzxx6xbt47MzEySkpJ47LHH2LdvH++//z4JCQlAIPBq0qQJmzZt4tNPP2XZ\nsmU8++yzlR7z4cOHc+GFF7Jr1y7uvfdeZs2aVeJs1+mnnx4MOPft28fbb7/N7t27ueaaa0hNTWX3\n7t3ceuutXHPNNezZswfgqKeZl3TcDz/8kA0bNrB8+XLuu+8+vvrqKwDS0tLYvHkz33zzDW+++Wap\n7Qo3BTgiIlIm5xxDhgyhVatWtG/fnlNPPZV77rkHgPnz5zNw4ED69etHo0aN+OMf/8jBgwf58MMP\nWbVqFT/88AMTJkygcePGXHrppQwcOJB58+YFj1v86dCh2+XVBxg4cCAXX3wxTZo04cEHH2TlypXk\n5OSU2peJEycSGRnJ2WefzU033RQ81vnnn0+PHj2IiIigQ4cOjBo1ivfee++IunfeeSdRUVE0bdqU\n5557jpSUFPr16wdAbGwsXbp0YefOnbzxxhv87W9/IzIykpNOOonU1FReeOGFSo15dnY2q1ev5v77\n7+e4446jT58+DBo0qNQnzhfPf/311+nSpQsjRowgIiKCYcOGccYZZxwxA1ZW/aKxatq0Kb/4xS84\n99xzWbNmDQAvvfQSd999N1FRUcTFxTFu3LhS2xVOCnBERKRMZsaCBQvYv38/GRkZvPPOO6xevRqA\n7du30759+yPKxsfHk5OTw/bt24mPjz/iWB06dCgzAAmVm5tbYv3c3NzgueLi4oL7WrRoQZs2bYL7\nSxJ6vPbt2wfLbtiwgYEDB9K2bVtat27N3Xffza5du0qtu23bNk499dSjjr9lyxby8/Np27Yt0dHR\nREdHM3r0aL777rsK9blIbm4u0dHRREZGHtH3ytQP/X8pql/RsQc45ZRTgunmzZtz4MCB4LGLj2Nd\npABHREQq7JJLLmHs2LHccccdQGDmYsuWLcH9zjm2bt1KXFwcsbGxbN269Yi/7rds2XJEUBKq+DJH\nafXbtWt3xLmKHDhwgN27dxMbG1tq+0Ov0cnOzg4e65ZbbqFr165s3LiRffv28eCDDx513Uxo++Lj\n49m4ceNRx4+Pj6dp06bs2rWLPXv2sGfPHvbt28fatWtLbVNJ2rZty549e/jxxx+P6HtFl4LatWt3\nxP9LUf2i/rZo0YIffvghuG/Hjh2ValvxcayLFOCIiEilpKamkpmZyUcffcTQoUN5/fXXeeedd8jP\nz+exxx6jWbNmXHTRRfTo0YPmzZszZcoU8vPzycjIYPHixQwbNqzE48bExPDNN98Et3v16lVu/SVL\nlvDhhx/y888/c++999K7d+/gh3hJHnjgAQ4ePMgXX3zBzJkzuf7664FAcNSyZUuaN2/O+vXrmT59\nepljkJKSwowZM3jnnXcoLCwkJyeHr776irZt29K/f39uvfVW8vLyKCwsZNOmTbz//vuVGWI6dOhA\n9+7dmThxIvn5+XzwwQcsXry4wvWvvvpqNmzYwLx58ygoKGD+/PmsX7+egQMHAtCtWzdeeOEFCgoK\nWL16Na+88kqFg6ehQ4fy8MMPs3fvXrZt28YTTzxRqb7VFt0HR0SkjoqKqvi9aqp6/Ko48cQTSUpK\nYvLkybz66qvMmTOHsWPHkpOTw3nnnceiRYto3Djw8bJo0SLGjBnDww8/TFxcHM8//zynn346cPSF\nrikpKfzmN78Jfhvr1VdfLbf+8OHDSUtLY+XKlVxwwQXMmTOnzLb37duX0047jcLCQv70pz8Fv3H0\n6KOPMmrUKKZMmcJ5553HsGHDePfdd4P1in/4X3jhhcyYMYPx48ezefNmYmJimDZtGl26dGH27NlM\nmDCBrl27kpeXR6dOnZgwYUKJfS4udN/cuXNJSkqiTZs29O7dm6SkJPaWcefH0Lpt2rRh8eLFjBs3\njltuuYXOnTuzePFi2rRpA8D999/PDTfcQHR0NH379mXEiBHs3r271P6GmjhxIqNHj6Zjx460a9eO\n5ORkHn/88VLLh4vVxQuDqpuZuW++mVjpek89lcXkyTOrv0F1zB13JDN6dEKl62l8ytZQxkeqh5nV\nyQs167KbbrqJuLi4Ct0YMCsri06dOlFQUEBEhBYv6qPS3iNe/lERmf6XRUSkXlJAKGVRgCMiIvVS\necs9JZWXhkPX4IiISL00Y8aMCpdNSEjg8OHDNdgaqWs0gyMiIiK+owBHREREfEcBjoiIiPiOAhwR\nERHxHQU4IiIi4jv6FpWISB2VOiGVvYdKv3PtsYpqFkX6I+k1dvzyHDx4kKFDh7JixQquvPJK5s+f\nH7a21JaZM2fy3HPPsWLFiqP2ZWdnc9ZZZ7F///4Sv9I+adIkNm3axPPPP18bTa2wxMRERo4cSUpK\nyjEfqzr7qABHRKSO2ntoLwlDEmrs+FmvZVWoXEJCAt9++y2NGjWiRYsWXHHFFTz55JO0atXqmM7/\n8ssv8+2337Jnzx7MjOTkZOLj4yt0Z2I/at++PXl5eaXur837+ERERLBx40Y6depUbtnK3o+ovGNV\nlxpdojKzf5jZTjNbG5L3FzP70szWmNmrZtY6ZN+dZva1ma03s/4h+ReY2Vpv39SQ/KZmNt/LX2Vm\nFX+WvIiIVIiZsXjxYvLy8lizZg1r167lgQceOObjbtmyhdNPP73e3YCvoKAg3E2oFfX9TtE1fQ3O\nDGBAsbxlwFnOuXOBDcCdAGbWFbge6OrVmWb/edVPB1Kcc52BzmZWdMwUYJeX/zdgck12RkSkoYuJ\niaF///588cUXwbyFCxdy1llnBR+SuX79+uC+L7/8ksTERKKjozn77LNZtGgREHhg4/3338/8+fNp\n2bIlTz/9NHPnzmXKlCm0bNmSwYMHl1kfIDk5mdGjR9O/f39atWpFYmIi2dnZJbY7KyuLiIgInnnm\nGdq1a0dsbCyPPfZYcH9mZia9e/cmOjqa2NhYxo4dS35+fnB/REQE06ZNo3PnznTp0gWABQsW0K1b\nN1q3bs1pp53Gm2++CcC+fftISUkhNjaWuLg47r33XgoLC8sd26I2FpXdvHkzffv2pVWrVvTv35/v\nv/++1LoZGRnExcXxl7/8hZNPPpnY2Fhee+01lixZwumnn84JJ5zAI488UqH+XnLJJQCce+65tGzZ\nkpdeeqnE/i5btuyItl988cW0atWKK6+8kl27dgX3rVq1iosuuojo6Gi6devGe++9F9xXmT5WVo0u\nUTnnVphZQrG8t0I2PwJ+7aUHA/Occ/lAlpltBHqa2RagpXMu0ys3GxgCLAWuBYqeovkK8L810Y/K\nSk2dRBkPfC1TVBSkp0+q1vaIiByror/mt23bxtKlS7nuuusA2LBhA8OHD2fBggUkJiby17/+lUGD\nBvHll1/inGPQoEHcfPPNvP3226xYsYLBgwezevVq0tLSiIiIYNOmTcyePRuAlStXEh8fz3333QdA\nfn5+qfWLnig+d+5clixZQo8ePbj99tsZMWJEide3FMnIyGDjxo1s2rSJyy67jG7dutGvXz8aN27M\n1KlT6d69O1u3buWqq65i2rRpjBs3Llh3wYIFfPzxx0RGRpKZmUlSUhKvvPIK/fr1Izc3N7i8lJyc\nzCmnnMKmTZs4cOAAAwcOJD4+nlGjRlVqzIcPH84vf/lL3n77bVatWsU111zDkCFDSi2/c+dOfvrp\nJ7Zv386MGTO4+eabufLKK/n000/ZsmUL3bt354YbbqBDhw5l9vf9998nIiKCzz//PLhEVVZ/nXPM\nnTuXpUuXEhcXx1VXXcWjjz7Kww8/TE5ODgMHDmTOnDkMGDCAt99+m1//+td89dVXnHDCCZXuY2WE\n+xqc3wLzvHQssCpk3zagHZDvpYvkePl4P7cCOOcKzGyfmbVxzu0mjPbuhYSESVWqm5VVtXoiIjXF\nOceQIUMwMw4cOMDgwYO55557AJg/fz4DBw6kX79+APzxj39k6tSpfPjhh0RERPDDDz8wYcIEAC69\n9FIGDhzIvHnzmDhxIs65o5ZBQrdXrVpVZn2AgQMHcvHFFwPw4IMP0rp1a3JycmjXrh0lmThxIpGR\nkZx99tncdNNNzJs3j379+nH++ecHy3To0IFRo0bx3nvvHRHg3HnnnURFRQHw3HPPkZKSEux3bGws\nEAgy3njjDfbu3UuzZs2IjIwkNTWVZ555plIBTnZ2NqtXr+add97huOOOo0+fPgwaNKjMZaPjjjuO\nu+++GzPj+uuvZ9SoUaSmptKiRQu6du1K165d+eyzz+jQoUOF+huqtP5CYAnzt7/9LaeddhoAQ4cO\nZeHChQDMmTOHq6++mgEDAgsvl19+Od27d+f1118nMTGx0n2sjLAFOGZ2N/Czc25ubZwvPT0jmO7V\nK4FevRJq47QiIvWembFgwQIuu+wy3n//fQYNGsTq1avp0aMH27dvp3379keUjY+PJycnh8aNGxMf\nH3/EsTp06EBOTk6Fzpubm1ti/dzc3OC54uLigvtatGhBmzZtyM3NLTXACT1e+/btWbs2cInohg0b\nuPXWW/nkk0/48ccfKSgooHv37qXW3bZtG9dcc81Rx9+yZQv5+fm0bds2mFdYWHjEGFVEbm4u0dHR\nREZGBvM6dOjA1q1bS61zwgknBK9nKqoXExMT3B8ZGckPP/wAVKy/oUrrb5FTTjnliPMcOHAACIzH\nSy+9dMTSYkFBAZdddlmV+giBWbiMjIwyy0CYAhwzSwauBvqFZOcAoa/kOAIzNzleunh+UZ32QK6Z\nNQZalzZ7k5qaWB1NFxFp0C655BLGjh3LHXfcwbvvvktsbGwwSIDADMzWrVuJi4sjIiKCrVu34pwL\nfvBu2bKFM844o8RjF7/YODY2tsz6RecqcuDAAXbv3n3E7EJx2dnZwWtosrOzg4HQLbfcwgUXXMD8\n+fNp0aIF6enpvPLKK6W2Lz4+no0bNx51/Pj4eJo2bcquXbuIiKj6Za5t27Zlz549/PjjjzRv3hwI\n9L1Ro0ZVPmaoivQ3VGn9LU/79u0ZOXIkTz/99FH7tmzZUqU+JiYmkpiYGNxOS0srsVyt3+jPu0D4\nT8Bg59yhkF0LgWFm1sTMOgKdgUzn3A5gv5n19C46HgksCKmT5KWvA5bXSidERBqw1NRUMjMz+eij\njxg6dCivv/4677zzDvn5+Tz22GM0a9aMiy66iB49etC8eXOmTJlCfn4+GRkZLF68mGHDhpV43JiY\nGL755pvgdq9evcqtv2TJEj788EN+/vln7r33Xnr37l3q7A3AAw88wMGDB/niiy+YOXMm119/PRAI\njlq2bEnz5s1Zv34906dPL3MMUlJSmDFjBu+88w6FhYXk5OTw1Vdf0bZtW/r378+tt95KXl4ehYWF\nbNq0iffff78yQ0yHDh3o3r07EydOJD8/nw8++IDFixdX6hhlKa+/MTExbNq0KbhdWn+LlLasdOON\nN7Jo0SKWLVvG4cOHOXToEBkZGeTk5NR4H2t0BsfM5gF9gRPNbCuBC4LvBJoAb3nR8Ern3Bjn3Doz\nexFYBxQAY9x/RmwMMBOIBJY455Z6+c8Bz5vZ18AuoOR3jYhIPRTVLKrC96qp6vGr4sQTTyQpKYnJ\nkyfz6quvMmfOHMaOHUtOTg7nnXceixYtonHjwMfLokWLGDNmDA8//DBxcXE8//zzwQuEi98/JSUl\nhd/85jfBb2O9+uqr5dYfPnw4aWlprFy5kgsuuIA5c+aU2fa+ffty2mmnUVhYyJ/+9Ccuv/xyAB59\n9FFGjRrFlClTOO+88xg2bBjvvvtusF7x2aULL7yQGTNmMH78eDZv3kxMTAzTpk2jS5cuzJ49mwkT\nJtC1a1fy8vLo1KlT8Dqi8u4ZE7pv7ty5JCUl0aZNG3r37k1SUhJ7y/gGS/HjlnWe8vo7adIkkpKS\nOHjwIM888wzXXXddqf0tfq7QPsbFxbFgwQJuv/12brjhBho1akTPnj2ZNm1alfpYGVbfv+deEWbm\nvvlmYvkFi3nqqSwmT55Z6XrJyZOO6SLjmTOrVreq7rgjmdGjEypdr6rjU99ofKQ2mFm9v+9Ibbvp\nppuIi4ur0I0Bs7Ky6NSpEwUFBce0dCThU9p7xMs/KprT/7KIiNRLCgilLApwRESkXqrsIwLq2x2T\n5diE+z44IiIiVTJjxowKl01ISODw4cM12BqpazSDIyIiIr6jAEdERER8RwGOiIiI+I6uwRERqSN0\nEaxI9VGAIyJSBzTUrzxX9T5ToHtNSdm0RCUiIiK+owBHREREfEcBjoiIiPiOAhwRERHxHQU4IiIi\n4jsKcERERMR3FOCIiIiI7yjAEREREd9RgCMiIiK+owBHREREfEcBjoiIiPiOAhwRERHxHT1sU0RE\npI66++5UCgr2Vqlu48ZRPPhgejW3qP5QgCMiIlJHFRTsPaanrTdkWqISERER31GAIyIiIr6jAEdE\nRER8RwGOiIiI+I4CHBEREfEdBTgiIiLiOzUa4JjZP8xsp5mtDclrY2ZvmdkGM1tmZlEh++40s6/N\nbL2Z9Q/Jv8DM1nr7pobkNzWz+V7+KjPrUJP9ERERkfqhpmdwZgADiuVNAN5yzp0OLPe2MbOuwPVA\nV6/ONDMzr850IMU51xnobGZFx0wBdnn5fwMm12RnREREpH6o0QDHObcC2FMs+1pglpeeBQzx0oOB\nec65fOdcFrAR6GlmbYGWzrlMr9zskDqhx3oF6FftnRAREZF6JxzX4MQ453Z66Z1AjJeOBbaFlNsG\ntCshP8fLx/u5FcA5VwDsM7M2NdRuERERqSfC+qgG55wzM1cb50pPzwime/VKoFevhNo4rYiIiFSj\njIwMMjIyyi0XjgBnp5md4pzb4S0/fevl5wDxIeXiCMzc5Hjp4vlFddoDuWbWGGjtnNtd0klTUxOr\nrwciIiISFomJiSQmJga309LSSiwXjiWqhUCSl04CXgvJH2ZmTcysI9AZyHTO7QD2m1lP76LjkcCC\nEo51HYGLlkVERKSBq9EZHDObB/QFTjSzrcCfgUeAF80sBcgChgI459aZ2YvAOqAAGOOcK1q+GgPM\nBCKBJc65pV7+c8DzZvY1sAsYVpP9ERERkfqhRgMc59wNpey6vJTyDwEPlZD/CXBOCfk/4QVIIiIi\nIkV0J2MRERHxHQU4IiIi4jsKcERERMR3FOCIiIiI7yjAEREREd9RgCMiIiK+owBHREREfEcBjoiI\niPiOAhwRERHxHQU4IiIi4jsKcERERMR3FOCIiIiI7yjAEREREd9RgCMiIiK+owBHREREfEcBjoiI\niPiOAhwRERHxnQoFOGZ2sZkd76VHmtlfzaxDzTZNREREpGoqOoMzHfjBzM4FbgU2AbNrrFUiIiIi\nx6CiAU6Bc84BQ4AnnXNPAi1rrlkiIiIiVde4guXyzOwu4Eagj5k1Ao6ruWaJiIiIVF1FZ3CGAoeA\n3zrndgDtgL/UWKtEREREjkFFZ3DGO+fuKNpwzmWb2dk11CYRERGRY1LRGZz+JeRdVZ0NEREREaku\nZc7gmNktwBjgVDNbG7KrJfBhTTZMREREpKrKW6KaC7wBPALcAZiXn+ec21WTDRMRERGpqvICnEbA\nfuD3gAvdYWZtnHO7a6phIiIiIlVVXoDzL4oFNsV0rMa2iIiIiFSLMgMc51xCLbVDREREpNpU9FlU\nl5T0r6onNbM7zewLM1trZnPNrKmZtTGzt8xsg5ktM7OoYuW/NrP1ZtY/JP8C7xhfm9nUqrZHRERE\n/KWi98G5nf8sVTUDegCfAJdV9oRmlgD8DjjTOfeTmc0HhgFnAW8556aY2R3ABGCCmXUFrge6ErjB\n4Ntm1tl7dMR0IMU5l2lmS8xsgHNuaWXbJCIiIv5SoRkc59xA59wg798VwNnA3iqecz+QDzQ3s8ZA\ncyAXuBaY5ZWZReC5VwCDgXnOuXznXBawEehpZm2Bls65TK/c7JA6IiIi0oBV9EZ/xW0DzqxKRe+b\nV48B2QQCm73OubeAGOfcTq/YTiDGS8d65ws9d7sS8nO8fBEREWngKrREZWZPhGxGAN0ILFFVmpmd\nCqQCCcA+4CUzuzG0jHPOmVlZ396qtPT0jGC6V68EevVKqM7Di4iISC3IyMggIyOj3HIVvQbnE/5z\nDU4BMNc5V9U7GXcH/ll0o0AzexXoDewws1Occzu85advvfI5QHxI/TgCMzc5Xjo0P6e0k6amJlax\nuSIiIlJXJCYmkpiYGNxOS0srsVxFr8GZ6Zyb5ZybReDOxnnH0Lb1QC8zizQzAy4H1gGLgCSvTBLw\nmpdeCAwzsyZm1hHoDGR6TzXfb2Y9veOMDKkjIiIiDVhFl6gyCFwE3JjAbM53Zvahc258ZU/onFtj\nZrOB1UAhgZsJPk3g+VYvmlkKkAUM9cqvM7MXCQRBBcAY7xtUEHhO1kwgEliib1CJiIgIVHyJKso5\nt9/MbgZmO+cmFnv4ZqU456YAU4pl7yYwm1NS+YeAh0rI/wQ4p6rtEBEREX+q6LeoGnnXxQwFXvfy\nqvUiYBEREZHqUtEA5z7gTWCTd1O9U4Gva65ZIiIiIlVXoSUq59xLwEsh25uAX9dUo0RERESORUWf\nRdXFzJab2Rfe9i/M7J6abZqIiIhI1VR0ieoZ4C7gZ297LXBDjbRIRERE5BhVNMBp7pz7qGjD+5p2\nfs00SUREROTYVDTA+c7MTivaMLPrgO010yQRERGRY1PR++D8gcDN+LqYWS6wGRhRY60SEREROQYV\n/RbVJqCfmR0PGHCAwD1xsmquaSIiIiJVU+YSlZkdb2a3mdk0MxsD/EjgbsNfoBkcERERqaPKm8GZ\nDewHVgL9gWTgEDDcOfdZzTZNREREpGrKC3BOc879AsDMniVwYXEH59zBGm+ZiIiISBWV9y2qw0UJ\n59xhIEfBjYiIiNR15c3g/MLM8kK2I0O2nXOuVQ21S0RERKTKygxwnHONaqshIiIiItWlovfBaZA+\nWZ7JpOTkStf7LPNbEhKqvTkiIiJSQQpwytDs0M9MqkKk8toH26q/MSIiIlJhFX1Ug4iIiEi9oQBH\nREREfEcBjoiIiPiOAhwRERHxHQU4IiIi4jsKcERERMR3FOCIiIiI7yjAEREREd/Rjf4kLFJTJ7F3\nb+XrRUVBevqkam+PiIj4iwIcCYu9eyEhYVKl62VlVb6OiIg0PFqiEhEREd8JW4BjZlFm9rKZfWlm\n68ysp5m1MbO3zGyDmS0zs6iQ8nea2ddmtt7M+ofkX2Bma719U8PTGxEREalLwjmDMxVY4pw7tEHu\nLgAAEuZJREFUE/gFsB6YALzlnDsdWO5tY2ZdgeuBrsAAYJqZmXec6UCKc64z0NnMBtRuN0RERKSu\nCUuAY2atgT7OuX8AOOcKnHP7gGuBWV6xWcAQLz0YmOecy3fOZQEbgZ5m1hZo6ZzL9MrNDqkjIiIi\nDVS4ZnA6At+Z2Qwz+5eZPWNmLYAY59xOr8xOIMZLxwLbQupvA9qVkJ/j5YuIiEgDFq5vUTUGzgf+\n4Jz72MzS8ZajijjnnJm56jphenpGMN2rVwK9eiVU16FFqp2+Ri8iUrKMjAwyMjLKLReuAGcbsM05\n97G3/TJwJ7DDzE5xzu3wlp++9fbnAPEh9eO8Y+R46dD8nJJOmJqaWH2tF6lh+hq9f9x9dyoFBVWI\nVoHGjaN48MH0am6RSP2WmJhIYmJicDstLa3EcmEJcLwAZquZne6c2wBcDnzh/UsCJns/X/OqLATm\nmtlfCSxBdQYyvVme/WbWE8gERgKP13J3RERKVVCwl9GjE6pU96mnsqq1LSINSThv9DcW+D8zawJs\nAm4CGgEvmlkKkAUMBXDOrTOzF4F1QAEwxjlXtHw1BpgJRBL4VtbS2uxEdcv8fCnJqVmVrhfVLIr0\nR/SXnoiICIQxwHHOrQEuLGHX5aWUfwh4qIT8T4Bzqrd14fNzxCEShiRUul7Wa1nV3haRiqjqEsyx\nLL/oGiURKY8e1SAix6SqSzDHsvyia5REpDx6VIOIiIj4jgIcERER8R0FOCIiIuI7CnBERETEdxTg\niIiIiO8owBERERHfUYAjIiIivqMAR0RERHxHAY6IiIj4jgIcERER8R0FOCIiIuI7CnBERETEdxTg\niIiIiO8owBERERHfUYAjIiIivqMAR0RERHxHAY6IiIj4jgIcERER8R0FOCIiIuI7CnBERETEdxTg\niIiIiO8owBERERHfUYAjIiIivqMAR0RERHxHAY6IiIj4jgIcERER8R0FOCIiIuI7CnBERETEd8IW\n4JhZIzP71MwWedttzOwtM9tgZsvMLCqk7J1m9rWZrTez/iH5F5jZWm/f1HD0Q0REROqecM7gjAPW\nAc7bngC85Zw7HVjubWNmXYHrga7AAGCamZlXZzqQ4pzrDHQ2swG12H4RERGpo8IS4JhZHHA18CxQ\nFKxcC8zy0rOAIV56MDDPOZfvnMsCNgI9zawt0NI5l+mVmx1SR0RERBqwcM3g/A34E1AYkhfjnNvp\npXcCMV46FtgWUm4b0K6E/BwvX0RERBq4xrV9QjMbCHzrnPvUzBJLKuOcc2bmStpXVenpGcF0r14J\n9OqVUJ2HFxERkVqQkZFBRkZGueVqPcABLgKuNbOrgWZAKzN7HthpZqc453Z4y0/feuVzgPiQ+nEE\nZm5yvHRofk5pJ01NTay+HoiIiEhYJCYmkpiYGNxOS0srsVytL1E55+5yzsU75zoCw4B3nHMjgYVA\nklcsCXjNSy8EhplZEzPrCHQGMp1zO4D9ZtbTu+h4ZEgdERERacDCMYNTXNFS1CPAi2aWAmQBQwGc\nc+vM7EUC37gqAMY454rqjAFmApHAEufc0lpst4iIiNRRYQ1wnHPvAe956d3A5aWUewh4qIT8T4Bz\narKNIiIiUv/UhRkcqac+WZ7JpOTkKtX9LPNbEhKqtTkiIiJBCnCkypod+plJVYxSXvtgW/mFRERE\nqkjPohIRERHfUYAjIiIivqMAR0RERHxH1+CI1BBdhC0iEj4KcERqiC7CFhEJHy1RiYiIiO9oBkfq\nlczPl5KcmlXpelHNokh/JL36GyQiInWSAhypV36OOETCkIRK18t6Lava2yIiInWXlqhERETEdxTg\niIiIiO9oiUrER6p6jRLoOiUR8RcFOCI+UtVrlKD2r1MKx32C6lsAWOUxiopiUrqCVWnYFOCISFiE\n4z5B9SkAhKqP0aSsrGpvi0h9o2twRERExHcU4IiIiIjvKMARERER31GAIyIiIr6jAEdERER8RwGO\niIiI+I4CHBEREfEdBTgiIiLiOwpwRERExHcU4IiIiIjvKMARERER31GAIyIiIr6jAEdERER8JywB\njpnFm9m7ZvaFmf3bzP7Hy29jZm+Z2QYzW2ZmUSF17jSzr81svZn1D8m/wMzWevumhqM/IiIiUreE\nawYnHxjvnDsL6AX83szOBCYAbznnTgeWe9uYWVfgeqArMACYZmbmHWs6kOKc6wx0NrMBtdsVERER\nqWvCEuA453Y45z7z0geAL4F2wLXALK/YLGCIlx4MzHPO5TvnsoCNQE8zawu0dM5leuVmh9QRERGR\nBirs1+CYWQJwHvAREOOc2+nt2gnEeOlYYFtItW0EAqLi+TlevoiIiDRgjcN5cjM7HngFGOecy/vP\nqhM455yZueo6V3p6RjDdq1cCvXolVNehRUREpJZkZGSQkZFRbrmwBThmdhyB4OZ559xrXvZOMzvF\nObfDW3761svPAeJDqscRmLnJ8dKh+TklnS81NbEaWy8iIiLhkJiYSGJiYnA7LS2txHLh+haVAc8B\n65xz6SG7FgJJXjoJeC0kf5iZNTGzjkBnINM5twPYb2Y9vWOODKkjIiIiDVS4ZnB+CdwIfG5mn3p5\ndwKPAC+aWQqQBQwFcM6tM7MXgXVAATDGOVe0fDUGmAlEAkucc0trqxMiIiJSN4UlwHHOfUDps0eX\nl1LnIeChEvI/Ac6pvtaJiIhIfRf2b1GJiIiIVDcFOCIiIuI7CnBERETEdxTgiIiIiO8owBERERHf\nUYAjIiIivqMAR0RERHxHAY6IiIj4jgIcERER8R0FOCIiIuI7CnBERETEdxTgiIiIiO8owBERERHf\nUYAjIiIivtM43A0QEZHqtTRzA1nJkypdLyoK0tMrX0+kLlKAIyLiM4d+bk5CwqRK18vKqnwdkbpK\nS1QiIiLiOwpwRERExHcU4IiIiIjvKMARERER31GAIyIiIr6jAEdERER8RwGOiIiI+I7ugyMiIgBk\nfr6U5NSsKtWNahZF+iPp1dsgkWOgAEdERAD4OeIQCUMSqlQ367Wsam2LyLHSEpWIiIj4jgIcERER\n8R0FOCIiIuI7CnBERETEd3wR4JjZADNbb2Zfm9kdlam7alVWDbXKHzQ+ZdP4lE3jUzaNT/k0RmXT\n+JSu3gc4ZtYI+F9gANAVuMHMzqxofb04yqbxKZvGp2wan7JpfMqnMSqbxqd09T7AAXoAG51zWc65\nfOAFYHCY2yQiIiJh5If74LQDtoZsbwN6hqktIiJSSz5Znsmk5ORK11u6ZgtnnNu3SueMioL09ElV\nqlvbqjo+REUxKb3+37TRnHPhbsMxMbNfAwOcc7/ztm8EejrnxoaUqd+dFBERkVI556x4nh9mcHKA\n+JDteAKzOEEldVxERET8yw/X4KwGOptZgpk1Aa4HFoa5TSIiIhJG9X4GxzlXYGZ/AN4EGgHPOee+\nDHOzREREJIzq/TU4IiIiIsX5YYmqxphZopktCnc7aouZXWBmU710XzPrHbLvv81sZDWcI8vM2hzr\nceqS0D6Z2YFwt0fE78zsN2a2zsyWh7stUnfV+yUqqT7OuU+AT7zNS4E8YKW37+/VdZpqOk5d4kpJ\ni0jNSAFuds79M9wNkbqr3s/gmNm93mMaVpjZXDO7zcy6mdkqM1tjZq+aWZRXtrT8C83sczP71Mz+\nYmZrSzhPCzP7h5l9ZGb/MrNra7uvZfHa97qZfWZma81sqDc2md7230PKZpjZI15fvjKzi738RDNb\nZGYdgP8GxntjcrGZTfLGtq2XV/SvwMzizewkM3vZO1+mmV3kHfMEM1tmZv82s2eAev2NNjP7f2a2\n2uvP78LdnrrGzG71Xm9rzWycl9dgx6z4eJTwPv2NVy7LzB7y3lOrzex8732z0cz+O9z9qClm9icz\nG+ul/1Y0I2Nml5nZHDO7wfvdvNbMHvH2/Rn4JfAPM5sSvtbXvlI+794t6fe5AM65evsPuBD4FGgC\nHA9sAG4D1gB9vDJpwN+89Oel5P+bwL1zAB4GPvfSicAiL/0QMMJLRwFfAc3DPQYhY/Fr4OmQ7VZA\ndMj2bGCgl34X+IuXvgp4q4T+TgRuDak/Ebit2Dl/D7zgpecCv/TS7YF1Xvpx4B4vfTVQCLQJ93gd\nwzhHez8jgbVAG2BzUZ+AvHC3MYxjc4H3HosEWnjvq24ljVm42xrG8bi1+PvU+7kZ+G8v/VevXgvg\nRGBHuPtSg2PUE3jRS68AVhFYWZgI/BnYApxA4Asky4HBXtl3gfPD3f5aHqvSPu9K/H2uf67ez+D8\nEnjNOfezc+4AsIjAL4Uo59wKr8ws4BIzawW0LiG/NXC8c+4jL38uJc8y9AcmmNmnBF5QTTny/jvh\n9jlwhRfJX+yc2w9c5s1YfQ5cRuBZXUVe9X7+C0go5ZilzraY2S+Bm4HfelmXA//rjc8CoKWZtQD6\nAHMAnHNLgD1V6VwdMs7MPiOwdBcHdA5ze+qSi4FXnXMHnXM/EHiN9aHhjllJ45HP0e/TIkW3t1gL\nrHTO/eCc+x74yfv95Uf/Ai4ws5bAIQKvke4Exm4v8K5zbpdz7jDwf8AlIXXr9WxwFZT0eVekIr/P\nG5z6fg2Oo/wXeWn7K5sP8P85574ut1Vh4Jz72szOA64BHjCzd4AxwAXOuRwzmwg0C6nyk/fzMJV8\nHZhZW+BZYJBz7seibAKzYD8XK1u0r94zs0SgH9DLOXfIzN7lyDFt6Ep7PxYfs6a126ywKT4e5uWF\nvk+XO+fu9/YXvScLgdD3USH1/3d1iZxz+Wa2GUgG/kngD7XLgNOALAKzYEWKxi9YvXZaWWeU9XlX\n9Hqp9O9zP6vvMzgfAoPMrKmZHQ8MBH4A9oSsQ44EMry/lErK3wfkmVkPL39YKed6E/ifog0vmKgz\nvKDjkHPu/4C/EPgl6oBd3tj8ppKHzANalnCexsBLwO3OuY0hu5Zx5Pic6yXfB4Z7eVcB0ZVsR13S\nCtjjfVCfCfQKd4PqmBXAEDOL9GbvfkXg/7tozM6gYY1Z8fEYQuAi/qL36aME3qfF+eIPgkpYAfwR\neM9LjyYwE5EJ9PWu42tE4Hfze2FrZfiV9HknZajXkZ5zbrWZLSQQ9e8kMLW7F0gCnjKz5sAm4Cav\nSmn5KcAzZlZI4A20L/Q03s/7gXRvuScC+AaoSxcanwP8xevDz8AtBD5g/g3sAD4qo25JfxUtAl62\nwMXU/xOy7yICf1XdZ2b3eflXeWWeNLM1BF5X7xGYQUoD5pnZDQT+QttyLJ0Ms6XAaDNbR+AarJVe\nfkP+qzLIOfepmc0k8MEE8AzwFPBaCWPme6WMR0vgI+99mk/gw/yoqjSs19QK4C4Cy3IHzewgsMI5\nt8PMJhC4JMCAxc65BnPbjuJK+bzbR8N7vVRYvb/Rn5m1cM794AUt7wG/c859VpVjeOkJQIxzbnwN\nNFdERKRKquPzriGp1zM4nqfNrCuBayFmVvE/+xozu5PAeGQRWA8WERGpS6rj867BqPczOCIiIiLF\n1feLjEVERESOogBHREREfEcBjoiIiPiOAhwRERHxHQU4IlJjzOyw9wDJf3sPmLzVvNtbl1Gng3ff\nJBGRKlOAIyI16Ufn3HnOubOBKwjcFHJiOXU64t39Opy8u3aLSD2lAEdEaoVz7jtgFPAHADNLMLP3\nzewT719vr+gjQB9v5mecN6NTUrkgM2thZq97s0RrzWyol9/PzP5lZp+b2XNm1sTLzzKzNl66u/eM\nLMxskpk9b2YfALPM7GQz+3/ecT8zs15euRvN7COvjU+ZmX6XitQx+gtFRGqNc26zmTUys5MI3G7+\nCufcT2bWGZgLXAjcAfzROTcIwMwiSykXagCQ45y7xqvTysyaATOAy5xzG81sFoFHmEyl7NvZnwFc\n7J1vPoEnWv/KW1pr6T2HbChwkXPusJlNA0YAzx/7CIlIddFfHSISLk2AZ73nu70InOnlF79Gp3i5\nriUc63PgCjN7xMwu9h6u2wXYHPJQ2FnAJeW0yQELnXNFT/a+FJgO4AL2E3g6+gXAajP7lMDTrztW\nqMciUms0gyMitcbMOgGHnXPfmdkkYLtzbqT3tOhDpVQbX14559zXZnYecA3wgJktBxYUPz3/mbkp\n4D9/4DUrVu7HEuoVN8s5d1cp7RWROkAzOCJSK7xlqaeAJ7ysVgSedA/wX0AjL51H4KnblFMu9Nht\ngUPOuf8DHgXOI/D08gQzO9UrNpLAAwoh8My57l7616GHKnbo5QSWtfCW1lp5edd5/cHM2phZ+7L6\nLiK1TwGOiNSkyKKviQNvAUuB+7x904AkM/uMwHLSAS9/DXDYu6h3XBnlQp0DfOQtGf0ZeMBbZroJ\neMlb3iogEGABpAFTzexjL79oZsdx5PU544BLvfqrgTOdc18C9wDLzGwNsAw4pYrjIyI1RA/bFBER\nEd/RDI6IiIj4jgIcERER8R0FOCIiIuI7CnBERETEdxTgiIiIiO8owBERERHfUYAjIiIivvP/A+sF\nzNCmF+nfAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f70896c5810>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>datasource</th>\n",
       "      <th>geocoded</th>\n",
       "      <th>rooftop_hits</th>\n",
       "      <th>parcel_id_found</th>\n",
       "      <th>parcel_id_matched</th>\n",
       "      <th>rooftop_parcel_id_found</th>\n",
       "      <th>rooftop_parcel_id_matched</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>google</td>\n",
       "      <td>19685</td>\n",
       "      <td>12473</td>\n",
       "      <td>14872</td>\n",
       "      <td>6931</td>\n",
       "      <td>12099</td>\n",
       "      <td>5852</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>sanitized</td>\n",
       "      <td>19999</td>\n",
       "      <td>7142</td>\n",
       "      <td>15649</td>\n",
       "      <td>3704</td>\n",
       "      <td>6412</td>\n",
       "      <td>3300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>all</td>\n",
       "      <td>18871</td>\n",
       "      <td>6692</td>\n",
       "      <td>14778</td>\n",
       "      <td>3475</td>\n",
       "      <td>6009</td>\n",
       "      <td>3103</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>oa</td>\n",
       "      <td>5844</td>\n",
       "      <td>5844</td>\n",
       "      <td>5785</td>\n",
       "      <td>3025</td>\n",
       "      <td>5785</td>\n",
       "      <td>3025</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>osm</td>\n",
       "      <td>8641</td>\n",
       "      <td>1648</td>\n",
       "      <td>5987</td>\n",
       "      <td>3020</td>\n",
       "      <td>1003</td>\n",
       "      <td>528</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>wof</td>\n",
       "      <td>18973</td>\n",
       "      <td>43</td>\n",
       "      <td>15900</td>\n",
       "      <td>62</td>\n",
       "      <td>38</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>gn</td>\n",
       "      <td>19151</td>\n",
       "      <td>27</td>\n",
       "      <td>10642</td>\n",
       "      <td>39</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  datasource  geocoded  rooftop_hits  parcel_id_found  parcel_id_matched  \\\n",
       "0     google     19685         12473            14872               6931   \n",
       "1  sanitized     19999          7142            15649               3704   \n",
       "2        all     18871          6692            14778               3475   \n",
       "3         oa      5844          5844             5785               3025   \n",
       "4        osm      8641          1648             5987               3020   \n",
       "5        wof     18973            43            15900                 62   \n",
       "6         gn     19151            27            10642                 39   \n",
       "\n",
       "   rooftop_parcel_id_found  rooftop_parcel_id_matched  \n",
       "0                    12099                       5852  \n",
       "1                     6412                       3300  \n",
       "2                     6009                       3103  \n",
       "3                     5785                       3025  \n",
       "4                     1003                        528  \n",
       "5                       38                          0  \n",
       "6                        7                          0  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "fig, (ax1, ax2) = plt.subplots(nrows=2, figsize=(8, 10))\n",
    "index = np.arange(7)\n",
    "bar_width = 0.2\n",
    "\n",
    "opacity = 0.5\n",
    "\n",
    "ax1.bar(index, records['geocoded'], \n",
    "                bar_width, color='r', label='Geocoded',\n",
    "                alpha=opacity)\n",
    "ax1.bar(index + bar_width, records['rooftop_hits'], \n",
    "                bar_width, color='g', label='Rooftop hits',\n",
    "                alpha=opacity)\n",
    "ax1.set_xlabel('Data source')\n",
    "ax1.set_ylabel('Results')\n",
    "ax1.set_title('Results per datasource')\n",
    "ax1.set_xticks(index + bar_width / 2)\n",
    "ax1.set_xticklabels(records['datasource'])\n",
    "ax1.legend()\n",
    "\n",
    "\n",
    "ax2.bar(index, records['parcel_id_found'],\n",
    "                bar_width, color='y', label='Parcel id found',\n",
    "               alpha=opacity)\n",
    "ax2.bar(index + bar_width, records['parcel_id_matched'],\n",
    "                bar_width, color='r', label='Parcel id matched',\n",
    "               alpha=opacity)\n",
    "ax2.bar(index + bar_width * 2, records['rooftop_parcel_id_found'],\n",
    "                bar_width, color='b', label='Rooftop parcel id found',\n",
    "               alpha=opacity)\n",
    "ax2.bar(index + bar_width * 3, records['rooftop_parcel_id_matched'],\n",
    "                bar_width, color='g', label='Rooftop parcel id matched',\n",
    "               alpha=opacity)\n",
    "ax2.set_xlabel('Data source')\n",
    "ax2.set_ylabel('Results')\n",
    "ax2.set_title('Parcel matching')\n",
    "ax2.set_xticks(index + bar_width / 2)\n",
    "ax2.set_xticklabels(records['datasource'])\n",
    "ax2.legend()\n",
    "\n",
    "\n",
    "\n",
    "fig.tight_layout()\n",
    "\n",
    "\n",
    "plt.show()\n",
    "display(records[['datasource', 'geocoded', 'rooftop_hits', 'parcel_id_found', 'parcel_id_matched', 'rooftop_parcel_id_found', 'rooftop_parcel_id_matched']])"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
